Skip to content

Replace Globus with OIDC (Beta, do not merge)#92

Open
juztas wants to merge 3 commits into
doe-iri:mainfrom
juztas:glbtooidc
Open

Replace Globus with OIDC (Beta, do not merge)#92
juztas wants to merge 3 commits into
doe-iri:mainfrom
juztas:glbtooidc

Conversation

@juztas
Copy link
Copy Markdown
Contributor

@juztas juztas commented May 14, 2026

No description provided.

Comment thread pyproject.toml
"opentelemetry-instrumentation-fastapi>=0.60b1,<0.61b0",
"opentelemetry-exporter-otlp>=1.39.1,<1.40.0",
"globus-sdk>=4.3.1",
"PyJWT>=2.10.1",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you considered a higher level library like authlib? It might take care of some of the validation code in _decode_oidc_jwt. Take a look here: https://docs.authlib.org/en/stable/oauth2/resource-server/flask.html

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have not until now. I think that would be a bigger lift for the codebase. Current IRI needs are basically to validate a signed JWT, check the issuer/aud/exp. I think Authlib provides a full set of server/client tooling. Do we need that?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think minimizing boilerplate is usually a good idea. Here are two options:

  1. don't know much about this one: https://fastapi-oidc.readthedocs.io/en/latest/
  2. the "standard": joserfc with:
    1. import keyset (jwks): https://jose.authlib.org/en/recipes/cheatsheet/#key-sets-jwks
    2. decode/validate the jwt: https://jose.authlib.org/en/recipes/cheatsheet/#decode-verify-token (where the 'key' param is the jwks from the prev. step)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants